package tests

import (
	"os"
)

// Config 测试配置结构
type Config struct {
	// API服务配置
	Qwen3BaseURL  string
	Qwen3Model    string
	YOLOBaseURL   string
	HealthBaseURL string
	SearchBaseURL string
}

// LoadConfig 加载测试配置
func LoadConfig() *Config {
	return &Config{
		Qwen3BaseURL:  getEnvOrDefault("QWEN3_BASE_URL", "http://172.16.35.50:8000"),
		Qwen3Model:    getEnvOrDefault("QWEN3_MODEL", "Qwen3-30B-A3B-Instruct-2507"),
		YOLOBaseURL:   getEnvOrDefault("YOLO_BASE_URL", "http://localhost:8081"),
		HealthBaseURL: getEnvOrDefault("HEALTH_BASE_URL", "http://localhost:8080"),
		SearchBaseURL: getEnvOrDefault("SEARCH_BASE_URL", "http://localhost:8080"),
	}
}

// GetQwen3ChatURL 获取Qwen3聊天接口URL
func (c *Config) GetQwen3ChatURL() string {
	return c.Qwen3BaseURL + "/v1/chat/completions"
}

// GetYOLOPredictURL 获取YOLO预测接口URL
func (c *Config) GetYOLOPredictURL() string {
	return c.YOLOBaseURL + "/predict"
}

// getEnvOrDefault 获取环境变量或返回默认值
func getEnvOrDefault(key, defaultValue string) string {
	if value := os.Getenv(key); value != "" {
		return value
	}
	return defaultValue
}
